package day10;

/*
 * 构造器（构造方法、constructor)
 * construct: 建设、建造
 * 
 * 构造器作用
 * 创建对象
 * 初始化属性
 * 
 * 说明
 * 1.如果没有显式定义类的构造器的话，系统默认提供一个空参的构造器
 * 2.定义构造器格式：
 * 权限修饰符 类名（形参列表）{
 * 		构造体名	
 * }
 * 3.一个类中定义的多个构造器，彼此构成重载
 * 4.一旦我们显式的定义了类的构造器之后，系统就不在提供默认的构构造器
 * 5.一个类中，至少有一个构造器 
 */
public class PeopleTest {
	public static void main(String[] args) {
		Person p1 = new Person();
		
		p1.setAge(20);
		p1.setName("李华");
		System.out.println("名字是 " + p1.getName());
		System.out.println("年龄是 " + p1.getAge());
	}
}

class Person{
	// attribute
	private String name;
	private int age;
	
	// construct
	public Person(){
		age = 18;
	}
	
	public Person(String str){
		name = str;
	}
	
	public Person(int a){
		age = a;
	}
	
	public Person(String str,int a){
		name = str;
		age = a;
	}
	
	
	// method
	public void eat(){
		System.out.println("eat!");
	}
	
	public void study() {
		System.out.println("study!");
	}
	
	public void setName(String str){
		name = str;
	}
	
	public void setAge(int i){
		age = i;
	}
	
	public String getName(){
		return name;
	}
	
	public int getAge() {
		return age;
	}
	
}